package com.beta.cust.bind.datasync.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Auther: pcc
 * @Date: 2024/3/16 15:48
 * @Description:
 */
@NoArgsConstructor
@Data
public class ExternalContactDTO implements Serializable {
    /**
     * 外部联系人的userid
     */
    @JSONField(name = "external_userid")
    private String externalUserid;

    /**
     * 外部联系人的名称
     */
    @JSONField(name = "name")
    private String name;

    /**
     * 外部联系人的职位，如果外部企业或用户选择隐藏职位，则不返回，仅当联系人类型是企业微信用户时有此字段
     */
    @JSONField(name = "position")
    private String position;

    /**
     * 外部联系人头像，代开发自建应用需要管理员授权才可以获取，第三方不可获取
     */
    @JSONField(name = "avatar")
    private String avatar;

    /**
     * 外部联系人所在企业的简称，仅当联系人类型是企业微信用户时有此字段
     */
    @JSONField(name = "corp_name")
    private String corpName;

    /**
     * 外部联系人所在企业的主体名称，仅当联系人类型是企业微信用户时有此字段
     */
    @JSONField(name = "corp_full_name")
    private String corpFullName;

    /**
     * 外部联系人的类型，1表示该外部联系人是微信用户，2表示该外部联系人是企业微信用户
     */
    @JSONField(name = "type")
    private Integer type;

    /**
     * 外部联系人性别 0-未知 1-男性 2-女性
     */
    @JSONField(name = "gender")
    private Integer gender;

    /**
     * 外部联系人在微信开放平台的唯一身份标识（微信unionid），通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户，且企业或第三方服务商绑定了微信开发者ID有此字段
     */
    @JSONField(name = "unionid")
    private String unionid;

}
